package com.css.dzj.zfjg.modules.other.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.util.Date;
import java.util.Objects;

@Entity
@Table(name = "jg_jgxw_other_action", schema = "DZJZFJG", catalog = "")
public class JgJgxwOtherActionEntity {
    private String id;
    private String currentUserId;
    private String flowRunId;
    private String flowRunSubject;
    private Date gxsj;
    private String bbh;
    private String jhzt;
    private String superviseItemCode;
    private String actionName;
    private String actionCode;
    private String checkBehaviorNumber;
    private String superviseObject;
    private String itemSource;
    private String implementInstitution;
    private String implementInstitutionCode;
    private String entrustDept;
    private String entrustDeptCode;
    private String administrativeCq;
    private String administrativeCpNa;
    private String administrativeCpCeType;
    private String administrativeCpUiCode;
    private String addressRegistered;
    private String addressOperating;
    private String areaNumber;
    private String superviseMeasure;
    private String closingCase;
    private Date startDate;
    private Date  endDate;
    private String submittedDate;
    private String submittedPersonnel;
    private String cdSource;
    private String cdId;
    private Date cdTime;
    private String recordUniqueIdentity;
    private String cdBatch;
    private String cdOperation;
    private String flag;
    private Long autoId;
    private Date updateTime;
    private String createUser;
    private String updateUser;
    private Date createTime;
    private String lawDepartment;
    private String lawOffice;

    @Id
    @Column(name = "ID")
    /*@GeneratedValue(generator = "idGenerator")
    @GenericGenerator(name = "idGenerator", strategy = "com.css.dzj.zfjg.common.util.SnowflakeId")*/
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    @Basic
    @Column(name = "current_User_Id")
    public String getCurrentUserId() {
        return currentUserId;
    }

    public void setCurrentUserId(String currentUserId) {
        this.currentUserId = currentUserId;
    }

    @Basic
    @Column(name = "flow_Run_Id")
    public String getFlowRunId() {
        return flowRunId;
    }

    public void setFlowRunId(String flowRunId) {
        this.flowRunId = flowRunId;
    }

    @Basic
    @Column(name = "flow_Run_Subject")
    public String getFlowRunSubject() {
        return flowRunSubject;
    }

    public void setFlowRunSubject(String flowRunSubject) {
        this.flowRunSubject = flowRunSubject;
    }

    @Basic
    @Column(name = "GXSJ")
    public Date getGxsj() {
        return gxsj;
    }

    public void setGxsj(Date gxsj) {
        this.gxsj = gxsj;
    }

    @Basic
    @Column(name = "BBH")
    public String getBbh() {
        return bbh;
    }

    public void setBbh(String bbh) {
        this.bbh = bbh;
    }

    @Basic
    @Column(name = "JHZT")
    public String getJhzt() {
        return jhzt;
    }

    public void setJhzt(String jhzt) {
        this.jhzt = jhzt;
    }

    @Basic
    @Column(name = "supervise_item_code")
    public String getSuperviseItemCode() {
        return superviseItemCode;
    }

    public void setSuperviseItemCode(String superviseItemCode) {
        this.superviseItemCode = superviseItemCode;
    }

    @Basic
    @Column(name = "action_name")
    public String getActionName() {
        return actionName;
    }

    public void setActionName(String actionName) {
        this.actionName = actionName;
    }

    @Basic
    @Column(name = "action_code")
    public String getActionCode() {
        return actionCode;
    }

    public void setActionCode(String actionCode) {
        this.actionCode = actionCode;
    }

    @Basic
    @Column(name = "check_behavior_number")
    public String getCheckBehaviorNumber() {
        return checkBehaviorNumber;
    }

    public void setCheckBehaviorNumber(String checkBehaviorNumber) {
        this.checkBehaviorNumber = checkBehaviorNumber;
    }

    @Basic
    @Column(name = "supervise_object")
    public String getSuperviseObject() {
        return superviseObject;
    }

    public void setSuperviseObject(String superviseObject) {
        this.superviseObject = superviseObject;
    }

    @Basic
    @Column(name = "item_source")
    public String getItemSource() {
        return itemSource;
    }

    public void setItemSource(String itemSource) {
        this.itemSource = itemSource;
    }

    @Basic
    @Column(name = "implement_institution")
    public String getImplementInstitution() {
        return implementInstitution;
    }

    public void setImplementInstitution(String implementInstitution) {
        this.implementInstitution = implementInstitution;
    }

    @Basic
    @Column(name = "implement_institution_code")
    public String getImplementInstitutionCode() {
        return implementInstitutionCode;
    }

    public void setImplementInstitutionCode(String implementInstitutionCode) {
        this.implementInstitutionCode = implementInstitutionCode;
    }

    @Basic
    @Column(name = "entrust_dept")
    public String getEntrustDept() {
        return entrustDept;
    }

    public void setEntrustDept(String entrustDept) {
        this.entrustDept = entrustDept;
    }

    @Basic
    @Column(name = "entrust_dept_code")
    public String getEntrustDeptCode() {
        return entrustDeptCode;
    }

    public void setEntrustDeptCode(String entrustDeptCode) {
        this.entrustDeptCode = entrustDeptCode;
    }

    @Basic
    @Column(name = "administrative_cq")
    public String getAdministrativeCq() {
        return administrativeCq;
    }

    public void setAdministrativeCq(String administrativeCq) {
        this.administrativeCq = administrativeCq;
    }

    @Basic
    @Column(name = "administrative_cp_na")
    public String getAdministrativeCpNa() {
        return administrativeCpNa;
    }

    public void setAdministrativeCpNa(String administrativeCpNa) {
        this.administrativeCpNa = administrativeCpNa;
    }

    @Basic
    @Column(name = "administrative_cp_ce_type")
    public String getAdministrativeCpCeType() {
        return administrativeCpCeType;
    }

    public void setAdministrativeCpCeType(String administrativeCpCeType) {
        this.administrativeCpCeType = administrativeCpCeType;
    }

    @Basic
    @Column(name = "administrative_cp_ui_code")
    public String getAdministrativeCpUiCode() {
        return administrativeCpUiCode;
    }

    public void setAdministrativeCpUiCode(String administrativeCpUiCode) {
        this.administrativeCpUiCode = administrativeCpUiCode;
    }

    @Basic
    @Column(name = "address_registered")
    public String getAddressRegistered() {
        return addressRegistered;
    }

    public void setAddressRegistered(String addressRegistered) {
        this.addressRegistered = addressRegistered;
    }

    @Basic
    @Column(name = "address_operating")
    public String getAddressOperating() {
        return addressOperating;
    }

    public void setAddressOperating(String addressOperating) {
        this.addressOperating = addressOperating;
    }

    @Basic
    @Column(name = "area_number")
    public String getAreaNumber() {
        return areaNumber;
    }

    public void setAreaNumber(String areaNumber) {
        this.areaNumber = areaNumber;
    }

    @Basic
    @Column(name = "supervise_measure")
    public String getSuperviseMeasure() {
        return superviseMeasure;
    }

    public void setSuperviseMeasure(String superviseMeasure) {
        this.superviseMeasure = superviseMeasure;
    }

    @Basic
    @Column(name = "closing_case")
    public String getClosingCase() {
        return closingCase;
    }

    public void setClosingCase(String closingCase) {
        this.closingCase = closingCase;
    }

    @Basic
    @Column(name = "start_date")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
    public Date  getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    @Basic
    @Column(name = "end_date")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    @Basic
    @Column(name = "submitted_date")
    public String getSubmittedDate() {
        return submittedDate;
    }

    public void setSubmittedDate(String submittedDate) {
        this.submittedDate = submittedDate;
    }

    @Basic
    @Column(name = "submitted_personnel")
    public String getSubmittedPersonnel() {
        return submittedPersonnel;
    }

    public void setSubmittedPersonnel(String submittedPersonnel) {
        this.submittedPersonnel = submittedPersonnel;
    }

    @Basic
    @Column(name = "cd_source")
    public String getCdSource() {
        return cdSource;
    }

    public void setCdSource(String cdSource) {
        this.cdSource = cdSource;
    }

    @Basic
    @Column(name = "cd_id")
    public String getCdId() {
        return cdId;
    }

    public void setCdId(String cdId) {
        this.cdId = cdId;
    }

    @Basic
    @Column(name = "cd_time")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
    public Date getCdTime() {
        return cdTime;
    }

    public void setCdTime(Date cdTime) {
        this.cdTime = cdTime;
    }

    @Basic
    @Column(name = "record_unique_identity")
    public String getRecordUniqueIdentity() {
        return recordUniqueIdentity;
    }

    public void setRecordUniqueIdentity(String recordUniqueIdentity) {
        this.recordUniqueIdentity = recordUniqueIdentity;
    }

    @Basic
    @Column(name = "cd_batch")
    public String getCdBatch() {
        return cdBatch;
    }

    public void setCdBatch(String cdBatch) {
        this.cdBatch = cdBatch;
    }

    @Basic
    @Column(name = "cd_operation")
    public String getCdOperation() {
        return cdOperation;
    }

    public void setCdOperation(String cdOperation) {
        this.cdOperation = cdOperation;
    }

    @Basic
    @Column(name = "flag")
    public String getFlag() {
        return flag;
    }

    public void setFlag(String flag) {
        this.flag = flag;
    }

    @Basic
    @Column(name = "auto_id")
    public Long getAutoId() {
        return autoId;
    }

    public void setAutoId(Long autoId) {
        this.autoId = autoId;
    }

    @Basic
    @Column(name = "update_time")
    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Basic
    @Column(name = "create_user")
    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    @Basic
    @Column(name = "update_user")
    public String getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }

    @Basic
    @Column(name = "create_time")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Basic
    @Column(name = "law_department")
    public String getLawDepartment() {
        return lawDepartment;
    }

    public void setLawDepartment(String lawDepartment) {
        this.lawDepartment = lawDepartment;
    }

    @Basic
    @Column(name = "law_office")
    public String getLawOffice() {
        return lawOffice;
    }

    public void setLawOffice(String lawOffice) {
        this.lawOffice = lawOffice;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        JgJgxwOtherActionEntity that = (JgJgxwOtherActionEntity) o;
        return Objects.equals(id, that.id) &&
                Objects.equals(currentUserId, that.currentUserId) &&
                Objects.equals(flowRunId, that.flowRunId) &&
                Objects.equals(flowRunSubject, that.flowRunSubject) &&
                Objects.equals(gxsj, that.gxsj) &&
                Objects.equals(bbh, that.bbh) &&
                Objects.equals(jhzt, that.jhzt) &&
                Objects.equals(superviseItemCode, that.superviseItemCode) &&
                Objects.equals(actionName, that.actionName) &&
                Objects.equals(actionCode, that.actionCode) &&
                Objects.equals(checkBehaviorNumber, that.checkBehaviorNumber) &&
                Objects.equals(superviseObject, that.superviseObject) &&
                Objects.equals(itemSource, that.itemSource) &&
                Objects.equals(implementInstitution, that.implementInstitution) &&
                Objects.equals(implementInstitutionCode, that.implementInstitutionCode) &&
                Objects.equals(entrustDept, that.entrustDept) &&
                Objects.equals(entrustDeptCode, that.entrustDeptCode) &&
                Objects.equals(administrativeCq, that.administrativeCq) &&
                Objects.equals(administrativeCpNa, that.administrativeCpNa) &&
                Objects.equals(administrativeCpCeType, that.administrativeCpCeType) &&
                Objects.equals(administrativeCpUiCode, that.administrativeCpUiCode) &&
                Objects.equals(addressRegistered, that.addressRegistered) &&
                Objects.equals(addressOperating, that.addressOperating) &&
                Objects.equals(areaNumber, that.areaNumber) &&
                Objects.equals(superviseMeasure, that.superviseMeasure) &&
                Objects.equals(closingCase, that.closingCase) &&
                Objects.equals(startDate, that.startDate) &&
                Objects.equals(endDate, that.endDate) &&
                Objects.equals(submittedDate, that.submittedDate) &&
                Objects.equals(submittedPersonnel, that.submittedPersonnel) &&
                Objects.equals(cdSource, that.cdSource) &&
                Objects.equals(cdId, that.cdId) &&
                Objects.equals(cdTime, that.cdTime) &&
                Objects.equals(recordUniqueIdentity, that.recordUniqueIdentity) &&
                Objects.equals(cdBatch, that.cdBatch) &&
                Objects.equals(cdOperation, that.cdOperation) &&
                Objects.equals(flag, that.flag) &&
                Objects.equals(autoId, that.autoId) &&
                Objects.equals(updateTime, that.updateTime) &&
                Objects.equals(createUser, that.createUser) &&
                Objects.equals(updateUser, that.updateUser) &&
                Objects.equals(createTime, that.createTime) &&
                Objects.equals(lawDepartment, that.lawDepartment) &&
                Objects.equals(lawOffice, that.lawOffice);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, currentUserId, flowRunId, flowRunSubject, gxsj, bbh, jhzt, superviseItemCode, actionName, actionCode, checkBehaviorNumber, superviseObject, itemSource, implementInstitution, implementInstitutionCode, entrustDept, entrustDeptCode, administrativeCq, administrativeCpNa, administrativeCpCeType, administrativeCpUiCode, addressRegistered, addressOperating, areaNumber, superviseMeasure, closingCase, startDate, endDate, submittedDate, submittedPersonnel, cdSource, cdId, cdTime, recordUniqueIdentity, cdBatch, cdOperation, flag, autoId, updateTime, createUser, updateUser, createTime, lawDepartment, lawOffice);
    }
}
